#import "~/graphql_shared/fragments/page_info.fragment.graphql"
#import "~/issues/list/queries/issue.fragment.graphql"

query getDashboardIssues(
  $hideUsers: Boolean = false
  $isSignedIn: Boolean = false
  $search: String
  $sort: IssueSort
  $state: IssuableState
  $assigneeId: String
  $assigneeUsernames: [String!]
  $authorUsername: String
  $confidential: Boolean
  $labelName: [String]
  $milestoneTitle: [String]
  $milestoneWildcardId: MilestoneWildcardId
  $myReactionEmoji: String
  $types: [IssueType!]
  $in: [IssuableSearchableField!]
  $not: NegatedIssueFilterInput
  $or: UnionedIssueFilterInput
  $afterCursor: String
  $beforeCursor: String
  $firstPageSize: Int
  $lastPageSize: Int
  $createdAfter: Time
  $createdBefore: Time
  $closedAfter: Time
  $closedBefore: Time
) {
  issues(
    search: $search
    sort: $sort
    state: $state
    assigneeId: $assigneeId
    assigneeUsernames: $assigneeUsernames
    authorUsername: $authorUsername
    confidential: $confidential
    labelName: $labelName
    milestoneTitle: $milestoneTitle
    milestoneWildcardId: $milestoneWildcardId
    myReactionEmoji: $myReactionEmoji
    types: $types
    in: $in
    not: $not
    or: $or
    after: $afterCursor
    before: $beforeCursor
    first: $firstPageSize
    last: $lastPageSize
    createdAfter: $createdAfter
    createdBefore: $createdBefore
    closedAfter: $closedAfter
    closedBefore: $closedBefore
  ) @persist {
    nodes {
      __persist
      ...IssueFragment
      reference(full: true)
    }
    pageInfo {
      ...PageInfo
    }
  }
}
